【例子介绍】GSYVideoPlayer-android视频播放器,支持基本的拖动,声音、亮度调节,支持边播边缓存
【相关图片】
【源码结构】
.
├── GSYVideoPlayer-android视频播放器,支持基本的拖动,声音、亮度调节,支持边播边缓存_GSYVideoPlayer-master.zip
└── GSYVideoPlayer-master
├── LICENSE
├── README.md
├── app
│ ├── build.gradle
│ ├── proguard-rules.pro
│ └── src
│ └── main
│ ├── AndroidManifest.xml
│ ├── assets
│ │ └── test1.mp4
│ ├── java
│ │ └── com
│ │ └── example
│ │ └── gsyvideoplayer
│ │ ├── AudioDetailPlayer.java
│ │ ├── AutoPlayRecyclerViewActivity.java
│ │ ├── DanmkuVideoActivity.java
│ │ ├── DetailADPlayer.java
│ │ ├── DetailADPlayer2.java
│ │ ├── DetailControlActivity.java
│ │ ├── DetailDownloadPlayer.java
│ │ ├── DetailFilterActivity.java
│ │ ├── DetailListPlayer.java
│ │ ├── DetailMoreTypeActivity.java
│ │ ├── DetailNormalActivityPlayer.java
│ │ ├── DetailPlayer.java
│ │ ├── EmptyActivity.java
│ │ ├── FragmentVideoActivity.java
│ │ ├── GSYApplication.java
│ │ ├── InputUrlDetailActivity.java
│ │ ├── ListADVideoActivity.java
│ │ ├── ListADVideoActivity2.java
│ │ ├── ListMultiVideoActivity.java
│ │ ├── ListVideo2Activity.java
│ │ ├── ListVideoActivity.java
│ │ ├── MainActivity.java
│ │ ├── PlayActivity.java
│ │ ├── PlayEmptyControlActivity.java
│ │ ├── PlayPickActivity.java
│ │ ├── RecyclerView2Activity.java
│ │ ├── RecyclerView3Activity.java
│ │ ├── RecyclerViewActivity.java
│ │ ├── ScrollingActivity.java
│ │ ├── ViewPager2Activity.java
│ │ ├── WebDetailActivity.java
│ │ ├── WindowActivity.java
│ │ ├── adapter
│ │ │ ├── DanamakuAdapter.java
│ │ │ ├── ListMultiNormalAdapter.java
│ │ │ ├── ListNormalAdapter.java
│ │ │ ├── ListVideoAdapter.java
│ │ │ ├── RecyclerBaseAdapter.java
│ │ │ ├── RecyclerNormalAdapter.java
│ │ │ └── ViewPagerAdapter.java
│ │ ├── effect
│ │ │ ├── BitmapEffect.java
│ │ │ ├── BitmapIconEffect.java
│ │ │ ├── GSYVideoGLViewCustomRender.java
│ │ │ ├── GSYVideoGLViewCustomRender2.java
│ │ │ ├── GSYVideoGLViewCustomRender3.java
│ │ │ ├── GSYVideoGLViewCustomRender4.java
│ │ │ └── PixelationEffect.java
│ │ ├── exo
│ │ │ ├── DetailExoListPlayer.java
│ │ │ ├── GSYExo2MediaPlayer.java
│ │ │ ├── GSYExo2PlayerView.java
│ │ │ ├── GSYExoModel.java
│ │ │ ├── GSYExoPlayerManager.java
│ │ │ └── GSYExoVideoManager.java
│ │ ├── exosource
│ │ │ ├── GSYDefaultHttpDataSource.java
│ │ │ └── GSYExoHttpDataSourceFactory.java
│ │ ├── exosubtitle
│ │ │ ├── GSYExoSubTitleDetailPlayer.java
│ │ │ ├── GSYExoSubTitleModel.java
│ │ │ ├── GSYExoSubTitlePlayer.java
│ │ │ ├── GSYExoSubTitlePlayerManager.java
│ │ │ ├── GSYExoSubTitleVideoManager.java
│ │ │ └── GSYExoSubTitleVideoView.java
│ │ ├── fragment
│ │ │ └── VideoFragment.java
│ │ ├── holder
│ │ │ ├── RecyclerItemBaseHolder.java
│ │ │ ├── RecyclerItemNormalHolder.java
│ │ │ └── RecyclerItemViewHolder.java
│ │ ├── listener
│ │ │ ├── AppBarStateChangeListener.java
│ │ │ ├── OnTransitionListener.java
│ │ │ └── SampleListener.java
│ │ ├── mediacodec
│ │ │ ├── MediaCodecRenderView.java
│ │ │ ├── MediaCodecTextureView.java
│ │ │ └── MediaCodecVideo.java
│ │ ├── model
│ │ │ ├── SwitchVideoModel.java
│ │ │ └── VideoModel.java
│ │ ├── simple
│ │ │ ├── SimpleActivity.java
│ │ │ ├── SimpleDetailActivityMode1.java
│ │ │ ├── SimpleDetailActivityMode2.java
│ │ │ ├── SimpleListVideoActivityMode1.java
│ │ │ ├── SimpleListVideoActivityMode2.java
│ │ │ ├── SimplePlayer.java
│ │ │ └── adapter
│ │ │ ├── SimpleListVideoMode2Adapter.java
│ │ │ └── SimpleListVideoModeAdapter.java
│ │ ├── switchplay
│ │ │ ├── SwitchDetailActivity.java
│ │ │ ├── SwitchListVideoActivity.java
│ │ │ ├── SwitchListVideoAdapter.java
│ │ │ ├── SwitchUtil.java
│ │ │ └── SwitchVideo.java
│ │ ├── utils
│ │ │ ├── BiliDanmukuParser.java
│ │ │ ├── CommonUtil.java
│ │ │ ├── JumpUtils.java
│ │ │ ├── MemoryCallBack.java
│ │ │ ├── ScrollCalculatorHelper.java
│ │ │ ├── SmallVideoHelper.java
│ │ │ └── floatUtil
│ │ │ ├── FloatActivity.java
│ │ │ ├── FloatLifecycle.java
│ │ │ ├── FloatPhone.java
│ │ │ ├── FloatToast.java
│ │ │ ├── FloatView.java
│ │ │ ├── FloatWindow.java
│ │ │ ├── IFloatWindow.java
│ │ │ ├── IFloatWindowImpl.java
│ │ │ ├── LifecycleListener.java
│ │ │ ├── MoveType.java
│ │ │ ├── PermissionListener.java
│ │ │ ├── Screen.java
│ │ │ └── Util.java
│ │ ├── video
│ │ │ ├── AudioSampleVideo.java
│ │ │ ├── CustomRenderVideoPlayer.java
│ │ │ ├── DanmakuVideoPlayer.java
│ │ │ ├── EmptyControlVideo.java
│ │ │ ├── FloatingVideo.java
│ │ │ ├── LandLayoutVideo.java
│ │ │ ├── ListADVideoPlayer.java
│ │ │ ├── MultiSampleVideo.java
│ │ │ ├── PreViewGSYVideoPlayer.java
│ │ │ ├── RequestListADVideoPlayer.java
│ │ │ ├── SampleControlVideo.java
│ │ │ ├── SampleCoverVideo.java
│ │ │ ├── SampleVideo.java
│ │ │ ├── SmartPickVideo.java
│ │ │ └── manager
│ │ │ └── CustomManager.java
│ │ └── view
│ │ ├── CustomInputDialog.java
│ │ ├── CustomRenderView.java
│ │ ├── CustomTextureSurface.java
│ │ ├── FloatPlayerView.java
│ │ ├── LoadingDialog.java
│ │ ├── ScrollWebView.java
│ │ └── SwitchVideoTypeDialog.java
│ └── res
│ ├── drawable
│ │ ├── bg_wiht_shadow.xml
│ │ ├── dialog_btn_bg.xml
│ │ ├── video_new_progress.xml
│ │ ├── video_new_seekbar_progress.xml
│ │ ├── video_new_seekbar_thumb.xml
│ │ ├── video_new_volume_progress_bg.xml
│ │ ├── video_seek_new_thumb_normal.xml
│ │ └── video_seek_new_thumb_press.xml
│ ├── drawable-xhdpi
│ │ ├── custom_enlarge.png
│ │ ├── custom_shrink.png
│ │ └── lololo.png
│ ├── layout
│ │ ├── activity_danmaku_layout.xml
│ │ ├── activity_deatil_exo_list_player.xml
│ │ ├── activity_deatil_list_player.xml
│ │ ├── activity_detail_ad_player.xml
│ │ ├── activity_detail_ad_player2.xml
│ │ ├── activity_detail_audio_player.xml
│ │ ├── activity_detail_control.xml
│ │ ├── activity_detail_download_player.xml
│ │ ├── activity_detail_exo_subtitle_player.xml
│ │ ├── activity_detail_filter.xml
│ │ ├── activity_detail_more_type.xml
│ │ ├── activity_detail_player.xml
│ │ ├── activity_empty.xml
│ │ ├── activity_fragment.xml
│ │ ├── activity_input_url_detail.xml
│ │ ├── activity_list_video.xml
│ │ ├── activity_list_video2.xml
│ │ ├── activity_main.xml
│ │ ├── activity_play.xml
│ │ ├── activity_play_empty_control.xml
│ │ ├── activity_play_pick.xml
│ │ ├── activity_recycler_view.xml
│ │ ├── activity_recycler_view2.xml
│ │ ├── activity_scrolling.xml
│ │ ├── activity_simple.xml
│ │ ├── activity_simple_detail_player.xml
│ │ ├── activity_simple_play.xml
│ │ ├── activity_view_pager2.xml
│ │ ├── activity_web_detail.xml
│ │ ├── activity_window.xml
│ │ ├── audio_layout_cover.xml
│ │ ├── content_scrolling.xml
│ │ ├── danmaku_layout.xml
│ │ ├── empty_control_video.xml
│ │ ├── fragment_video.xml
│ │ ├── layout_custom_dialog.xml
│ │ ├── layout_floating_play.xml
│ │ ├── layout_floating_video.xml
│ │ ├── layout_loading_dialog.xml
│ │ ├── layout_viewpager2_item.xml
│ │ ├── list_video_item.xml
│ │ ├── list_video_item_ad.xml
│ │ ├── list_video_item_ad2.xml
│ │ ├── list_video_item_mutli.xml
│ │ ├── list_video_item_normal.xml
│ │ ├── list_video_simple_mode1.xml
│ │ ├── list_video_simple_mode2.xml
│ │ ├── sample_control_video.xml
│ │ ├── sample_video.xml
│ │ ├── sample_video_land.xml
│ │ ├── sample_video_normal.xml
│ │ ├── sample_video_pick.xml
│ │ ├── switch_activity_detail_player.xml
│ │ ├── switch_list_video_item.xml
│ │ ├── switch_video.xml
│ │ ├── switch_video_dialog.xml
│ │ ├── switch_video_dialog_item.xml
│ │ ├── video_layout_cover.xml
│ │ ├── video_layout_preview.xml
│ │ └── video_layout_subtitle.xml
│ ├── menu
│ │ └── menu_scrolling.xml
│ ├── mipmap-hdpi
│ │ └── ic_launcher.png
│ ├── mipmap-mdpi
│ │ └── ic_launcher.png
│ ├── mipmap-xhdpi
│ │ └── ic_launcher.png
│ ├── mipmap-xxhdpi
│ │ ├── ic_launcher.png
│ │ ├── xxx1.jpg
│ │ └── xxx2.png
│ ├── mipmap-xxxhdpi
│ │ └── ic_launcher.png
│ ├── raw
│ │ ├── comments.xml
│ │ ├── test.mp4
│ │ ├── test1.mp4
│ │ ├── test3.mp3
│ │ ├── test33.mp3
│ │ ├── test4.mp4
│ │ └── test5.mp4
│ ├── values
│ │ ├── colors.xml
│ │ ├── dimens.xml
│ │ ├── id.xml
│ │ ├── strings.xml
│ │ └── styles.xml
│ ├── values-w820dp
│ │ └── dimens.xml
│ └── xml
│ └── network_security_config.xml
├── build.gradle
├── doc
│ ├── BUILD_SO.md
│ ├── DECODERS.md
│ ├── DEPENDENCIES.md
│ ├── FURTURE.md
│ ├── GSYVIDEO_PLAYER_PROJECT_INFO.md
│ ├── QUESTION.md
│ ├── UPDATE_VERSION.md
│ └── USE.md
├── gradle
│ ├── base.gradle
│ ├── checkexported.gradle
│ ├── dependencies.gradle
│ ├── exported.gradle
│ ├── lib.gradle
│ ├── publish.gradle
│ └── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradle.properties
├── gradlew
├── gradlew.bat
├── gsyVideoPlayer
│ ├── build.gradle
│ ├── gradle.properties
│ └── src
│ └── main
│ └── AndroidManifest.xml
├── gsyVideoPlayer-aliplay
│ ├── build.gradle
│ ├── gradle.properties
│ └── src
│ └── main
│ ├── AndroidManifest.xml
│ └── java
│ └── com
│ └── shuyu
│ └── aliplay
│ ├── AliMediaPlayer.java
│ └── AliPlayerManager.java
├── gsyVideoPlayer-armv5
│ ├── build.gradle
│ ├── gradle.properties
│ └── src
│ └── main
│ ├── AndroidManifest.xml
│ └── jniLibs
│ └── armeabi
│ ├── libijkffmpeg.so
│ ├── libijkplayer.so
│ └── libijksdl.so
├── gsyVideoPlayer-armv64
│ ├── build.gradle
│ ├── gradle.properties
│ └── src
│ └── main
│ ├── AndroidManifest.xml
│ └── jniLibs
│ └── arm64-v8a
│ ├── libijkffmpeg.so
│ ├── libijkplayer.so
│ └── libijksdl.so
├── gsyVideoPlayer-armv7a
│ ├── build.gradle
│ ├── gradle.properties
│ └── src
│ └── main
│ ├── AndroidManifest.xml
│ └── jniLibs
│ └── armeabi-v7a
│ ├── libijkffmpeg.so
│ ├── libijkplayer.so
│ └── libijksdl.so
├── gsyVideoPlayer-base
│ ├── build.gradle
│ ├── gradle.properties
│ └── src
│ └── main
│ ├── AndroidManifest.xml
│ └── java
│ └── com
│ └── shuyu
│ └── gsyvideoplayer
│ ├── cache
│ │ └── ICacheManager.java
│ ├── model
│ │ ├── GSYModel.java
│ │ └── VideoOptionModel.java
│ └── player
│ ├── BasePlayerManager.java
│ ├── IPlayerInitSuccessListener.java
│ └── IPlayerManager.java
├── gsyVideoPlayer-ex_so
│ ├── build.gradle
│ ├── gradle.properties
│ └── src
│ └── main
│ ├── AndroidManifest.xml
│ └── jniLibs
│ ├── arm64-v8a
│ │ ├── libijkffmpeg.so
│ │ ├── libijkplayer.so
│ │ └── libijksdl.so
│ ├── armeabi
│ │ ├── libijkffmpeg.so
│ │ ├── libijkplayer.so
│ │ └── libijksdl.so
│ ├── armeabi-v7a
│ │ ├── libijkffmpeg.so
│ │ ├── libijkplayer.so
│ │ └── libijksdl.so
│ ├── x86
│ │ ├── libijkffmpeg.so
│ │ ├── libijkplayer.so
│ │ └── libijksdl.so
│ └── x86_64
│ ├── libijkffmpeg.so
│ ├── libijkplayer.so
│ └── libijksdl.so
├── gsyVideoPlayer-exo_player2
│ ├── build.gradle
│ ├── gradle.properties
│ └── src
│ └── main
│ ├── AndroidManifest.xml
│ └── java
│ └── tv
│ └── danmaku
│ └── ijk
│ └── media
│ └── exo2
│ ├── Exo2PlayerManager.java
│ ├── ExoMediaSourceInterceptListener.java
│ ├── ExoPlayerCacheManager.java
│ ├── ExoSourceManager.java
│ ├── IjkExo2MediaPlayer.java
│ └── demo
│ └── EventLogger.java
├── gsyVideoPlayer-java
│ ├── build.gradle
│ ├── gradle.properties
│ └── src
│ └── main
│ ├── AndroidManifest.xml
│ ├── java
│ │ ├── com
│ │ │ └── shuyu
│ │ │ └── gsyvideoplayer
│ │ │ ├── GSYBaseADActivityDetail.java
│ │ │ ├── GSYBaseActivityDetail.java
│ │ │ ├── GSYVideoADManager.java
│ │ │ ├── GSYVideoBaseManager.java
│ │ │ ├── GSYVideoManager.java
│ │ │ ├── builder
│ │ │ │ └── GSYVideoOptionBuilder.java
│ │ │ ├── cache
│ │ │ │ ├── CacheFactory.java
│ │ │ │ ├── ProxyCacheManager.java
│ │ │ │ └── ProxyCacheUserAgentHeadersInjector.java
│ │ │ ├── listener
│ │ │ │ ├── GSYMediaPlayerListener.java
│ │ │ │ ├── GSYSampleCallBack.java
│ │ │ │ ├── GSYStateUiListener.java
│ │ │ │ ├── GSYVideoGifSaveListener.java
│ │ │ │ ├── GSYVideoProgressListener.java
│ │ │ │ ├── GSYVideoShotListener.java
│ │ │ │ ├── GSYVideoShotSaveListener.java
│ │ │ │ ├── LockClickListener.java
│ │ │ │ └── VideoAllCallBack.java
│ │ │ ├── model
│ │ │ │ └── GSYVideoModel.java
│ │ │ ├── player
│ │ │ │ ├── IjkPlayerManager.java
│ │ │ │ ├── PlayerFactory.java
│ │ │ │ └── SystemPlayerManager.java
│ │ │ ├── render
│ │ │ │ ├── GSYRenderView.java
│ │ │ │ ├── effect
│ │ │ │ │ ├── AutoFixEffect.java
│ │ │ │ │ ├── BarrelBlurEffect.java
│ │ │ │ │ ├── BlackAndWhiteEffect.java
│ │ │ │ │ ├── BrightnessEffect.java
│ │ │ │ │ ├── ContrastEffect.java
│ │ │ │ │ ├── CrossProcessEffect.java
│ │ │ │ │ ├── DocumentaryEffect.java
│ │ │ │ │ ├── DuotoneEffect.java
│ │ │ │ │ ├── FillLightEffect.java
│ │ │ │ │ ├── GammaEffect.java
│ │ │ │ │ ├── GaussianBlurEffect.java
│ │ │ │ │ ├── GrainEffect.java
│ │ │ │ │ ├── GreyScaleEffect.java
│ │ │ │ │ ├── HueEffect.java
│ │ │ │ │ ├── InvertColorsEffect.java
│ │ │ │ │ ├── LamoishEffect.java
│ │ │ │ │ ├── NoEffect.java
│ │ │ │ │ ├── OverlayEffect.java
│ │ │ │ │ ├── PosterizeEffect.java
│ │ │ │ │ ├── SampleBlurEffect.java
│ │ │ │ │ ├── SaturationEffect.java
│ │ │ │ │ ├── SepiaEffect.java
│ │ │ │ │ ├── SharpnessEffect.java
│ │ │ │ │ ├── TemperatureEffect.java
│ │ │ │ │ ├── TintEffect.java
│ │ │ │ │ └── VignetteEffect.java
│ │ │ │ ├── glrender
│ │ │ │ │ ├── GSYVideoGLViewBaseRender.java
│ │ │ │ │ └── GSYVideoGLViewSimpleRender.java
│ │ │ │ └── view
│ │ │ │ ├── GSYSurfaceView.java
│ │ │ │ ├── GSYTextureView.java
│ │ │ │ ├── GSYVideoGLView.java
│ │ │ │ ├── IGSYRenderView.java
│ │ │ │ └── listener
│ │ │ │ ├── GLSurfaceListener.java
│ │ │ │ ├── GSYVideoGLRenderErrorListener.java
│ │ │ │ └── IGSYSurfaceListener.java
│ │ │ ├── utils
│ │ │ │ ├── AnimatedGifEncoder.java
│ │ │ │ ├── CommonUtil.java
│ │ │ │ ├── Debuger.java
│ │ │ │ ├── FileUtils.java
│ │ │ │ ├── GSYVideoHelper.java
│ │ │ │ ├── GSYVideoType.java
│ │ │ │ ├── GifCreateHelper.java
│ │ │ │ ├── ListVideoUtil.java
│ │ │ │ ├── MeasureHelper.java
│ │ │ │ ├── NetInfoModule.java
│ │ │ │ ├── NetworkUtils.java
│ │ │ │ ├── OrientationOption.java
│ │ │ │ ├── OrientationUtils.java
│ │ │ │ ├── RawDataSourceProvider.java
│ │ │ │ └── StreamDataSourceProvider.java
│ │ │ ├── video
│ │ │ │ ├── GSYADVideoPlayer.java
│ │ │ │ ├── GSYSampleADVideoPlayer.java
│ │ │ │ ├── ListGSYVideoPlayer.java
│ │ │ │ ├── NormalGSYVideoPlayer.java
│ │ │ │ ├── StandardGSYVideoPlayer.java
│ │ │ │ └── base
│ │ │ │ ├── GSYBaseVideoPlayer.java
│ │ │ │ ├── GSYTextureRenderView.java
│ │ │ │ ├── GSYVideoControlView.java
│ │ │ │ ├── GSYVideoPlayer.java
│ │ │ │ ├── GSYVideoView.java
│ │ │ │ └── GSYVideoViewBridge.java
│ │ │ └── view
│ │ │ └── SmallVideoTouch.java
│ │ └── moe
│ │ └── codeest
│ │ └── enviews
│ │ ├── ENDownloadView.java
│ │ └── ENPlayView.java
│ └── res
│ ├── drawable
│ │ ├── empty_drawable.xml
│ │ ├── video_click_error_selector.xml
│ │ ├── video_click_pause_selector.xml
│ │ ├── video_click_play_selector.xml
│ │ ├── video_dialog_progress.xml
│ │ ├── video_dialog_progress_bg.xml
│ │ ├── video_jump_btn_bg.xml
│ │ ├── video_loading.xml
│ │ ├── video_progress.xml
│ │ ├── video_seek_progress.xml
│ │ ├── video_seek_thumb.xml
│ │ ├── video_seek_thumb_normal.xml
│ │ ├── video_seek_thumb_pressed.xml
│ │ ├── video_title_bg.xml
│ │ └── video_volume_progress_bg.xml
│ ├── drawable-xxhdpi
│ │ ├── lock.png
│ │ ├── unlock.png
│ │ ├── video_back.png
│ │ ├── video_backward_icon.png
│ │ ├── video_brightness_6_white_36dp.png
│ │ ├── video_enlarge.png
│ │ ├── video_error_normal.png
│ │ ├── video_error_pressed.png
│ │ ├── video_forward_icon.png
│ │ ├── video_loading_bg.png
│ │ ├── video_pause_normal.png
│ │ ├── video_pause_pressed.png
│ │ ├── video_play_normal.png
│ │ ├── video_play_pressed.png
│ │ ├── video_shrink.png
│ │ ├── video_small_close.png
│ │ └── video_volume_icon.png
│ ├── layout
│ │ ├── video_brightness.xml
│ │ ├── video_layout_ad.xml
│ │ ├── video_layout_custom.xml
│ │ ├── video_layout_normal.xml
│ │ ├── video_layout_sample_ad.xml
│ │ ├── video_layout_standard.xml
│ │ ├── video_progress_dialog.xml
│ │ └── video_volume_dialog.xml
│ └── values
│ ├── attrs.xml
│ ├── colors.xml
│ ├── dimens.xml
│ ├── id.xml
│ ├── strings.xml
│ └── style.xml
├── gsyVideoPlayer-proxy_cache
│ ├── build.gradle
│ ├── gradle.properties
│ └── src
│ └── main
│ ├── AndroidManifest.xml
│ └── java
│ └── com
│ └── danikula
│ └── videocache
│ ├── ByteArrayCache.java
│ ├── ByteArraySource.java
│ ├── Cache.java
│ ├── CacheListener.java
│ ├── Config.java
│ ├── GetRequest.java
│ ├── HttpProxyCache.java
│ ├── HttpProxyCacheDebuger.java
│ ├── HttpProxyCacheServer.java
│ ├── HttpProxyCacheServerClients.java
│ ├── HttpUrlSource.java
│ ├── IgnoreHostProxySelector.java
│ ├── InterruptedProxyCacheException.java
│ ├── Pinger.java
│ ├── Preconditions.java
│ ├── ProxyCache.java
│ ├── ProxyCacheException.java
│ ├── ProxyCacheUtils.java
│ ├── Source.java
│ ├── SourceInfo.java
│ ├── StorageUtils.java
│ ├── file
│ │ ├── DiskUsage.java
│ │ ├── FileCache.java
│ │ ├── FileNameGenerator.java
│ │ ├── Files.java
│ │ ├── LruDiskUsage.java
│ │ ├── Md5FileNameGenerator.java
│ │ ├── TotalCountLruDiskUsage.java
│ │ ├── TotalSizeLruDiskUsage.java
│ │ └── UnlimitedDiskUsage.java
│ ├── headers
│ │ ├── EmptyHeadersInjector.java
│ │ └── HeaderInjector.java
│ └── sourcestorage
│ ├── DatabaseSourceInfoStorage.java
│ ├── NoSourceInfoStorage.java
│ ├── SourceInfoStorage.java
│ └── SourceInfoStorageFactory.java
├── gsyVideoPlayer-x86
│ ├── build.gradle
│ ├── gradle.properties
│ └── src
│ └── main
│ ├── AndroidManifest.xml
│ └── jniLibs
│ └── x86
│ ├── libijkffmpeg.so
│ ├── libijkplayer.so
│ └── libijksdl.so
├── gsyVideoPlayer-x86_64
│ ├── build.gradle
│ ├── gradle.properties
│ └── src
│ └── main
│ ├── AndroidManifest.xml
│ └── jniLibs
│ └── x86_64
│ ├── libijkffmpeg.so
│ ├── libijkplayer.so
│ └── libijksdl.so
├── img
│ ├── 07.gif
│ ├── 09.gif
│ ├── 11.gif
│ ├── 22.gif
│ ├── 33.gif
│ ├── 44.gif
│ ├── 55.gif
│ ├── 99.png
│ ├── StructureChart.log
│ ├── StructureChart2.jpg
│ ├── code
│ │ ├── code01.jpg
│ │ ├── code02.jpg
│ │ ├── code03.jpg
│ │ ├── code04.jpg
│ │ ├── code05.jpg
│ │ ├── code06.jpg
│ │ ├── option1.jpg
│ │ └── option2.jpg
│ ├── home_logo.png
│ └── thanks.jpg
├── issue_template.md
├── jitpack.yml
├── module-lite-more.sh
├── module-lite.sh
├── release.jks
└── settings.gradle
149 directories, 521 files
评论